/* 
ES6Module模块规范
  + 可以直接运行在浏览器端
  + 不支持IE

模块的导入导出:
  整体来讲，每个模块导出的是一个Module对象，我们可以基于 export/export default 为对象中加入导出的内容
    @1 export default xxx;
      + xxx可以是任意类型值
      + 给Module对象新增一个 “default” 属性，属性值就是导出的值
      + 在一个模块中，export default只允许出现一次
    @2 export 创建值的表达式（声明变量 = 值）;
      let num = 10;
      export num; //这样写是错误的
      export let num = 10; //这样写是正确的
      ---
      let num = 10;
      export {
        num, //这样写是可以的
        x:100 //这样写是错误的
      };
      ---
      + export可以出现多次，导出多个内容
      + 声明的变量叫啥名字，最后给Module对象加入的是同名的属性名，属性值就是变量的值

  我们会基于 import 方法导入模块「导入模块导出的内容」
    @1 import N from '模块地址(在浏览器端不能忽略.js后缀名)';
     + N获取的不是整个导出的Module对象，仅仅获取的是Module中default这一项的值
     + 不能在import期间，直接对N解构赋值，因为涉及解构赋值就会变为另外一种情况
    @2 import {x,y} from '模块地址';
     + 直接对导出的Module对象中(排除default属性)，导出的内容进行解构赋值
    @3 import * as M from '模块地址';
     + 先导入所有导出的内容，赋值给M变量
*/
import sum from './A.js';
import { average } from './B.js';

let total = sum(10, 20, 30, 40);
console.log('求和：', total);

let avg = average(10, 20, 30, 40);
console.log('求平均：', avg);